Bayangkan sebuah perpustakaan di mana buku-buku tidak disusun berdasarkan tanggal kedatangan, tetapi berdasarkan Kunci Universal. Ini adalah perubahan paradigma dari urutan ke Kontainer Asosiatif. Alih-alih memindai sebuah vektor secara linier ($O(N)$), kita menggunakan peta atau set untuk mencapai pencarian dengan waktu logaritmik ($O(\log n)$).
1. Sifat Asosiasi
Dalam sebuah peta, kita menyimpan pasangan kunci-nilai. Kunci bertindak sebagai indeks yang bisa berupa string, objek khusus, atau tipe apa pun yang mendukung Urutan Lemah Ketat. Sebuah set, sebaliknya, hanya menyimpan kunci unik, menjadikannya alat sempurna untuk pengujian keanggotaan atau penyaringan.
2. Berurutan vs. Tidak Berurutan
Kontainer standar (peta, set) menyimpan kunci secara terurut. Standar C++11 memperkenalkan varian tidak berurutan (unordered_map) yang menggunakan fungsi hash untuk kinerja rata-rata $O(1)$. Cari logo Logo C++11 saat menggunakan ember-ember performa tinggi ini.